#pragma once

class nef_log_placeholder {};

template<typename T>
nef_log_placeholder &operator<<(nef_log_placeholder &p, const T &val)
{
	return p;
}

#if defined(_DEBUG) || defined(NEF_LOG_CONSOLE)

#include <iostream>

#define nef_out std::cout
#define nef_line std::endl

#else
//typedef nef_log_placeholder nef_out;

#define nef_out (*((nef_log_placeholder*)nullptr))
#define nef_line nullptr

#endif